package com.jk.controller;

import ch.qos.logback.core.net.SyslogOutputStream;
import com.jk.pojo.PayUser;
import com.jk.service.PayUserIntegralService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 根据用户id查询用户积分的controller层
 * cjq
 * Created by Administrator on 2017/12/20 0020.
 */
@RestController
@RequestMapping("app/payUserIntegral")
public class PayUserIntegralController {

    /**
     * 按byType自动注入用户积分service层
     */
    @Autowired
    private PayUserIntegralService payUserIntegralService;

    /**
     * 根据用户ID查询用户积分
     * @param request
     * @return
     */
    @GetMapping("queryPayUserIntegralCount")
    public PayUser queryPayUserIntegralCount(HttpServletRequest request) throws ParseException {
        //获取session中的用户信息，根据用户ID查询用户积分
        
        PayUser user = (PayUser)request.getSession().getServletContext().getAttribute("us");
        String  userid =user.getUserid();

        //根据用户ID查询用户积分
        PayUser payUser = payUserIntegralService.queryPayUserIntegralCount(userid);


        return payUser;
    }


    //使用定时器为会员用户送上生日祝福
    @GetMapping("userBirthday")
    public String userBirthday(HttpServletRequest request){
        PayUser user = (PayUser)request.getSession().getServletContext().getAttribute("us");
        String  userid =user.getUserid();
        //根据用户id查询用户的身份证号
        PayUser payUser = payUserIntegralService.userBirthday(userid);

        //----------以下截取出年、月、日
        //获取到对象中的用户的身份证号
        String identtity=payUser.getIdentitycard();
        System.out.println(identtity);

        //根据下标获取出生的年份
        //String str=identtity.substring(6,10);
       // 142730199812290315
        String str=identtity.substring(10,14);
        System.out.println("时间"+str);
        String NewDate = str;
        System.out.println("时间"+NewDate);
        //获取系统当前时间
        Date date = new Date();
        //格式化日期格式
        SimpleDateFormat sdf = new SimpleDateFormat("MMdd");
        //System.out.println(sdf.format(date));
        //定义一个变量接受格式化好的系统当前时间
        String  birthdayNewDate= sdf.format(date);
        System.out.println("系统时间"+birthdayNewDate);
        //输出到控制台
        //System.out.println(birthdayNewDate);

        //------以下是用户生日与系统当前时间的比较
        String flagBirthday = null;
        if(str.equals(birthdayNewDate)){
            flagBirthday ="亲爱的"+payUser.getUsername()+"用户！金科易支付平台,祝您：生日快乐！工作顺利！";
            System.out.println(flagBirthday);
        }
        //System.out.println(payUser.getUsername());

        return flagBirthday;
    }

}

